Systems and methods of sharing promotional information

ABSTRACT

Systems and methods that enable product (or service) purchasers, or other such entities, to share promotional materials via social networks and/or other means of communication and may further enable the purchasers to receive rewards, such as rebates, in response to interactions with the promotional materials by others (e.g., friends of the purchaser). In various embodiments, the promotional materials shared by the purchaser relates to the product purchased, which may lend greater credibility and/or interest in the promotional material being shared.

DISCUSSION OF RELATED ART

Social networking is a major medium of communications today. Individuals are able to broadcast messages to relatives, friends, acquaintances and the world through technologies such as the internet and mobile devices. Because of the rapid speed of communications offered by these technologies, individuals are able to reach an audience much larger than that reachable by traditional communications means.

Those offering products and services may wish to take advantage of the communication possibilities opened up by social networking.

SUMMARY

As a general matter, entities such as retailers may wish to reach wide audiences by transmitting promotional materials using computer network systems. Often it is advantageous to have promotional materials originate, or appear to originate, from entities that are trusted by the viewers of the promotional materials. For example, a person viewing a message relating to a product is more likely to be interested in the message (as indicated, for example, by clicking on a link in the message, or purchasing a product based on the message) if the message originates from a friend or acquaintance of the viewer. Furthermore, that viewer may also be more likely to be interested in the message about the product if the originator has more of a direct connection with the product (for example, the originator has purchased or tested the product), because the message is less likely to be viewed as a bare advertisement. Thus, it may be advantageous to create an appropriate environment so that such originators of product messages and other messages can be discovered and given incentives to spread effective messages. Some or all of these considerations motivate the various aspects and embodiments as disclosed herein.

Accordingly, presented herein are systems and methods that enable product (or service) purchasers, or other such entities, to share promotional materials via social networks and/or other means of communication and may further enable the purchasers to receive rewards, such as rebates, in response to interactions with the promotional materials by others (e.g., friends of the purchaser). In various embodiments, the promotional materials shared by the purchaser relates to the product purchased, which may lend greater credibility and/or interest in the promotional material being shared.

An embodiment is a method of automatically awarding rebates to a purchaser of a product or service. The method is performed at a computer system comprising at least one computer processor. The computer system receives, from a retailer offering a rebate promotion, a rebate percentage. The computer system is configured to use the rebate percentage in calculating maximum rebate amounts for respective purchases that qualify for the rebate promotion. The system receives an indication that a purchaser has purchased a product that qualifies for the rebate promotion. The system associates an account of the purchaser with purchase data relating to the product purchased including an amount paid by the purchaser for the product. The system provides promotional material associated with the rebate promotion. The promotional material is configured for posts on one or more social networking systems. The system calculates a rebate per click to credit to the purchaser in response to respective clicks on the promotional material by respective viewers. The calculation is based at least in part on the rebate percentage, the amount paid, and a quantity of clicks required to achieve the maximum rebate amount. The system receives indications that respective viewers have clicked on the promotional material. The system credits the account of the purchaser based on the calculated rebate per click and a quantity of the received indications of clicks from the respective viewers.

In an embodiment, calculating the rebate per click comprises calculating an interpolation based on the quantity of clicks and the rebate percentage.

In an embodiment, associating the account of the purchaser with the purchase data comprises creating a temporary account for the purchaser, requesting account confirmation from the purchaser, and converting the temporary account to a full account in response to receiving account confirmation from the purchaser. The temporary account is configured to be credited with rebates prior to receiving the account confirmation from the purchaser.

In an embodiment, converting the temporary account to the full account comprises transferring, to the full account, rebates credited to the temporary account.

In an embodiment, the method also includes sending, to a web browser of the viewer, an HTTP redirection message directing the web browser to a promotional website location. The promotional website location is determined based at least in part upon input from the retailer.

In an embodiment, the method also includes receiving, from the retailer, a request to create the rebate promotion. The request comprises promotion creation data. The promotion creation data comprises the rebate percentage and the quantity of clicks.

In an embodiment, the method also includes charging the retailer a promotion spending amount. Crediting the account of the purchaser is limited based at least in part on the promotion spending amount.

In an embodiment, the retailer is charged the promotion spending amount at the time the rebate promotion is created.

In an embodiment, receiving the indications that the respective viewers have clicked on the promotional material comprises receiving one or more HTTP requests directed to a short link. The short link comprises an identifier linking the request to the purchaser and to the rebate promotion.

In an embodiment, providing the promotional material comprises generating the promotional material and posting the promotional material to the one or more social networking systems upon a request from the purchaser. The promotional material includes a short link comprising a unique identifier linked to the rebate promotion and purchaser.

An embodiment is a computer system. The system includes computer storage media. The system includes one or more processors configured to execute instructions stored on the computer storage media. The system includes a rebate promotion module comprising instructions stored on the computer storage media. The rebate promotion module is configured to store promotion data relating to a rebate promotion. The system includes an account module comprising instructions stored on the computer storage media. The account module is configured to maintain an association between an account of a first user and the stored promotion data. The account module is further configured to maintain an association between content at a third party location and the account of the first user. The system includes a rebate computation module comprising instructions stored on the computer storage media. The rebate computation module is configured to compute a rebate value to be awarded to the account of the first user, in response to a received indication of an interaction with the content at the third party location. The computation is based at least in part on the promotion data and a cost associated with a financial transaction in which the first user engaged.

In an embodiment, the computer storage media and one or more processors are housed in a plurality of independent computing devices. At least one of the rebate promotion module, the account module, and the rebate computation module is stored on a first independent computing device. At least one of the rebate promotion module, the account module, and the rebate computation module is stored on a second independent computing device.

In an embodiment, the system also includes a user interaction module comprising instructions stored on the computer storage media, the user interaction module configured to receive the indication of the interaction with the content at the third party location, the user interaction module further configured to identify the account of the first user based on the indication of the interaction with the content at the third party location.

In an embodiment, the system also includes an activity monitoring module configured to monitor the activity of a second user that caused the interaction with the content at the third party location. The activity monitoring module is configured to monitor the activity of the second user by receiving monitoring data from a client-side script installed on an external network location being accessed by the second user.

In an embodiment, the account module is further configured to create a temporary account for the first user, to request account confirmation by sending a message to the first user, to receive account confirmation from the first user, and to convert the temporary account to a full account in response to receiving the account confirmation from the first user.

In an embodiment, the rebate computation module is configured to compute the rebate value by at least in part determining an interpolated rebate portion based on the cost associated with the financial transaction and a maximum interaction count value associated with the rebate promotion.

An embodiment is a method of offering a rebate to a purchaser. The method is performed using a computer system comprising at least one processor. The system processes a purchase order received from a purchaser. The purchase order identifies one or more purchased items. The system determines that one or more of the purchased items is associated with a rebate promotion. The system transmits to the purchaser a user interface configured to enable the purchaser to participate in the rebate promotion. The user interface includes an indication of a value of the rebate promotion based on a cost of the purchased items associated with the rebate promotion. The user interface further identifies one or more conditions to be met in order to obtain the indicated value of the rebate promotion. The system receives an indication from the purchaser to participate in the rebate promotion.

In an embodiment, determining that the one or more of the purchased items is associated with the rebate promotion comprises executing third-party plugin code within a content management system framework operating on the computer system.

In an embodiment, transmitting the user interface comprises further executing the third-party plugin code.

In an embodiment, the third-party plugin code is further configured to communicate with an external computer system to determine parameters associated with the rebate promotion, and wherein the indication of the value of the rebate promotion and the one or more conditions to be met are based at least in part on the parameters associated with the rebate promotion.

These and further embodiments are described in detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a network system including a promotional management system, as used in an embodiment.

FIG. 2 is a block diagram of a promotion management system, as used in an embodiment.

FIG. 3 is a flowchart of a process of providing a rebate promotion, as used in an embodiment.

FIG. 4 is a flowchart of a process of offering promotions, as used in an embodiment.

FIG. 5 is a flowchart of a process of creating a rebate promotion, as used in an embodiment.

FIG. 6 is a block diagram of an example data structure of promotion data, as used in an embodiment.

FIG. 7 is a flowchart of a process of managing a purchase of an item associated with a promotion, as used in an embodiment.

FIG. 8 is a sample user interface enabling a purchaser of a product on a retailer's website to participate in a rebate promotion, as used in an embodiment.

FIG. 9 is a sample user interface allowing the purchaser to sign up for a rebate promotion, as used in an embodiment.

FIG. 10 is a sample user interface for sharing promotional materials as used in an embodiment.

FIG. 11 is a flowchart of a process of participating in a promotion, as used in an embodiment.

FIG. 12 is a user interface for confirming an account with the promotion management system, as used in an embodiment.

FIG. 13 is a user interface of a rebate promotion management console, as used in an embodiment.

FIG. 14 is a flowchart of a process of handling clicks on promotional materials as used in an embodiment.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of a network system including a promotional management system, as used in an embodiment. The network system of FIG. 1 may include promotion management system 101 which may be one or more computing servers including computer hardware such as computer processors, volatile and/or nonvolatile storage, input/output devices, network communications devices and the like. In an embodiment, promotion management system 101 includes multiple computing devices connected via a distributed network. In an embodiment, promotion management system 101 includes a cloud computing system.

Promotion management system 101 may be connected to one or more networks 102. The networks may include, for example, any combination of the Internet, LANs, MANs, WANs, cellular communication networks, POTS networks, and so on. In an embodiment, promotion management system 101 communicates with networks 102 via a wired and/or wireless connection such as an Ethernet connection, a Wi-Fi connection, a cable connection, a T1 connection, a DSL connection, a cellular communications connection, and/or the like.

Network 102 may further be coupled with retailer 103, purchaser 104, social network 105, and promotion viewer 106. In an embodiment, each of retailer 103, purchaser 104, social network 105, and promotion viewer 106 is one or more computing devices connected to network 102 by one or more of the connection technologies described previously and/or by another form of connection.

In an embodiment, each of retailer 103, purchaser 104, social network 105, and promotion viewer 106 may be controlled by one or more users. For example, retailer 103 may be a computing device operated by an owner of a retail store and/or an appropriate administrator related to a retail store. Purchaser 104 may be a computing device operated by one or more individuals purchasing products. Social network 105 may be a computing system operating a social network, website, or other related system and controlled by one or more system administrators and/or other users. Promotion viewer 106 may be a computing device operated by one or more individuals viewing promotional materials via a web browser or other application operating on the computing device. These and other terms, as used throughout this specification, may refer to the computing device and/or the user or operator of the device, in various embodiments.

Retailer 103 may be a computing device operated by a retailer of goods and/or services. Additionally and/or alternatively, retailer 103 may be any computing system offering services and/or any computing system operated by an entity offering products and/or services, including entities that are not technically retailers, such as wholesalers, individual sellers, etc. Retailer 103 may wish to connect to promotion management system 101 in order to provide rebate promotions to purchasers of products, services, and the like from the retailer 103.

Purchaser 104 may be a computing device operated by an individual who purchases items from retailer 103, purchases services from retailer 103 and/or otherwise engages in a transaction with retailer 103. Purchaser 104 may interact with the same computing device that is retailer 103, with another computing device operated by an entity relating to retailer 103, and/or directly with an entity relating to the computing device. In an embodiment, purchaser 104 may be offered a rebate as a result of making such a purchase or entering such a transaction with retailer 103. The rebate may be offered by retailer 103 and/or by another entity such as the manufacturer of the product purchased. The rebate may be offered in an embodiment in exchange for purchaser 104 propagating a promotion for retailer 103 and/or another entity.

Social network 105 may be a social networking system and/or other communication system. In various embodiments, social network 105 may be a user profile sharing system, a blog, a microblog, a content management system, a user contributed content system, a news website, a community news website, a community submitted content website, an email system, an email mailing list system, a webpage, a news group, and so on.

In an embodiment, purchaser 104 places promotional material relating to a product purchased from retailer 103 (or some other product or entity indicated by the particular promotion) on social network 105. For example, purchaser 104 may submit an entry to a blog relating to the promotion, send one or more emails relating to the promotion, send communications to friends relating to the promotion, and the like. In an embodiment, social network 105 may enable the content submitted by purchaser 104 to be redistributed on the same social network and/or on other social networks or communication media, thereby enabling the promotional material to potentially be distributed virally. The term “social network” may thus refer to a specific type of network service, such as a web site, or to other forms of communication within a network or multiple networks.

Promotion viewer 106 is an individual and/or computing device operated by the individual that receives and views the promotional content shared by purchaser 104. For example, promotion viewer 106 may receive an email message, SMS text, and/or other such communication from purchaser 104 including the promotional material. Alternatively, promotion viewer 106 may read the promotional material from the purchaser's website, blog, microblog, submitted content, public user profile, and the like. Promotion viewer 106 may then access content based on the promotional material such as, for example, clicking a link to a website identified in the promotional material (e.g., a website of the retailer 103 for the same and/or similar products as were purchased by the purchaser 104). In an embodiment, such a click and/or other access may cause the purchaser to receive all or a portion of the rebate offered by retailer 103 or other entity. In an embodiment, such access further directs promotion viewer 106 to content on a server offered by retailer 103 or another appropriate entity relating to the promotional material.

As explained above, in various embodiments, promotions and/or promotional material may be shared, distributed, and otherwise provided. Promotional material may take on many different forms. For example, in various embodiments, promotional material may include branded content, advertisements, videos, images, texts, audio, product reviews, and the like. In an embodiment, promotional materials provided to the purchaser 104 are directly tied or otherwise related to a transaction performed by the purchaser 104, such as a purchase of a product and/or service from the retailer 103.

FIG. 2 is a block diagram of a promotion management system, as used in an embodiment. Promotion management system 101 may be one or more computing devices, including computer hardware. Promotion management system 101 may further include one or more modules which may be implemented as executable instructions in software and/or hardware such as circuitry. Promotion management system 101 may further include data storage systems such as hard disks, read only memory, random access memory, flash memory, removable storage media, and the like.

Promotion management system 101 may include a user interaction system 201 which may be implemented as one or more software and/or hardware modules. In an embodiment, user interaction system 201 may be implemented on independent computing hardware. User interaction system 201 may be configured to handle one or more user interactions. Such user interactions may include, for example, requests to create promotions submitted for retailer 103 (e.g., setting up a new promotion on product X for the retailer 103), requests to engage in rebate promotion transactions initiated by purchaser 104 (e.g., the purchaser buys product X and signs up for the promotion set up by retailer 103), and/or requests to access promotional materials and/or locations identified in promotional materials made by promotion viewer 106 (e.g., a promotion viewer 106 views promotional material posted to social network 105 and clicks on a link).

Promotion system 202 may also be included in promotion management system 101. Promotion system 202 may be implemented as one or more software and/or hardware modules and may be operated on independent computing hardware. Promotion system 202 may be configured to manage promotions, such as rebate promotions. Thus, it may manage parameters and/or other information about current, past, and/or future promotions to be offered.

Promotion system 202 may further communicate with promotion database 204, for example to store and/or retrieve information about promotions. Promotion database 204 may be located within promotion management system 101 and/or located externally and accessed via one or more networks. Promotion database 204 may include in various embodiments a flat file store, a hierarchical file store, a SQL database store, an object oriented database, a multidimensional database, and so on.

Account system 203 may be included in promotion management system 101 and implemented as one or more software and/or hardware modules. In an embodiment, account system 203 may be operated on independent computing hardware. Account system 203 may be configured to manage one or more purchaser accounts. Such purchaser accounts may include personal information relating to purchasers associated with the promotion management system 101. Account system 203 may further maintain information relating to purchases made by respective purchasers and/or rebates earned by those purchasers. Account system 203 may store and/or retrieve such purchaser account data using account database 205. Account database 205 may be local to promotion management system 101 and/or located externally and connected via one or more networks. The account database 205 may be configured in any of the various ways described above with respect to promotion database 204, or in another manner, and account database 205 may be configured in the same manner or in a different manner with respect to promotion database 204.

The promotion management system 101 may be a general purpose computer using one or more microprocessors, such as, for example, an Intel® Pentium® processor, an Intel® Pentium® II processor, an Intel® Pentium® Pro processor, an Intel® Pentium® IV processor, an Intel® Pentium® D processor, an Intel® Core™ processor, an xx86 processor, an 8051 processor, a MIPS processor, a Power PC processor, a SPARC processor, an Alpha processor, and so forth. The computer may run a variety of operating systems that perform standard operating system functions such as, for example, opening, reading, writing, and closing a file. It is recognized that other operating systems may be used, such as, for example, Microsoft® Windows® 3.X, Microsoft® Windows 98, Microsoft® Windows® 2000, Microsoft® Windows® NT, Microsoft® Windows® CE, Microsoft® Windows® ME, Microsoft® Windows® XP, Windows® 7, Palm Pilot OS, Apple® MacOS®, Disk Operating System (DOS), UNIX, IRIX, Solaris, SunOS, FreeBSD, Linux®, or IBM® OS/2® operating systems. In other embodiments, the promotion management system 101 may be controlled by a proprietary operating system. Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, I/O services, and provide a user interface, such as a graphical user interface (“GUI”), among other things.

The promotion management system 101 may include one or more central processing units (“CPU”) 206, which may each include one or more conventional or proprietary microprocessor(s). The promotion management system 101 may further include one or more memories 207, such as random access memory (“RAM”), for temporary storage of information, read only memory (“ROM”) for permanent storage of information, and/or a mass storage device 208, such as a hard drive, diskette, or optical media storage device. The memory 207 may store software code, or instructions, for execution by the processor 206 in order to cause the computing device to perform certain operations, such as gathering sensor-related data, processing the data with statistical and/or predictive models, formatting data for user devices or other presentation, transmitting data, or other operations described or used herein.

The methods described and claimed herein may be performed by any suitable computing device, such as the promotion management system 101. The methods may be executed on such suitable computing devices in response to execution of software instructions or other executable code read from a non-transitory tangible computer readable medium or computer storage device. A computer readable medium is a data storage device that can store data that is readable by a computer system. Examples of computer readable mediums include read-only memory, random-access memory, other volatile or non-volatile memory devices, CD-ROMs, magnetic tape, flash drives, and optical data storage devices.

The promotion management system 101 may include one or more input/output (I/O) devices and interfaces 209, such as a keyboard, trackball, mouse, drawing tablet, joystick, game controller, touchscreen (e.g., capacitive or resistive touchscreen), touchpad, accelerometer, and/or printer, for example. The promotion management system 101 may also include one or more multimedia devices 210, such as a display device (also referred to herein as a display screen), which may also be one of the I/O devices 209 in the case of a touchscreen, for example. Display devices may include LCD, OLED, or other thin screen display surfaces, a monitor, television, projector, or any other device that visually depicts user interfaces and data to viewers. The promotion management system 101 may also include one or more multimedia devices, such as speakers, video cards, graphics accelerators, and microphones, for example.

In the embodiment, the I/O devices and interfaces 209 provide a communication interface to various external devices via a network such as network 101 of FIG. 1. For example, the promotion management system 101 may be electronically coupled to the network 101 via a wired, wireless, or combination of wired and wireless, communication link(s). The network 101 may allow communication with various other computing devices and/or other electronic devices via wired or wireless communication links.

In an embodiment, the promotion management system 101 may include modules as described above with respect to user interaction system 201, promotion system 202, and account system 203, as well as other modules or fewer modules. Each of these modules is discussed in further detail below. In general, the word “module,” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in any programming language, such as, for example, Java, Python, Perl, Lua, C, C++, C#, Objective C, etc. A software module may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. Software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts. Software modules configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, or any other tangible medium. Such software code may be stored, partially or fully, on a memory device of the executing computing device, such as the promotion management system 101, for execution by the computing device. Hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The modules described herein are typically implemented as software modules, but may be implemented in hardware, firmware and/or software. Generally, the modules described herein refer to logical modules that may be combined with other modules or divided into sub-modules despite their physical organization or storage.

FIG. 3 is a flowchart of a process of providing a rebate promotion, as used in an embodiment. In various embodiments, additional blocks may be included, some blocks may be removed, and/or blocks may be connected or arranged differently from what is shown.

At block 301, a retailer, such as retailer 103, creates a rebate promotion for one or more products. The rebate promotion may offer, for example, that a purchaser who purchases a product may receive a rebate of up to a certain percentage (e.g., of the cost of the product) and/or dollar amount, for example, in exchange for initiating interactions with promotional materials of the retailer by promotion viewers 106.

At block 302, a purchaser, such as purchaser 104, buys a product associated with the rebate promotion. The purchaser may then be offered the option to participate in the rebate promotion. If the purchaser signs up for the rebate promotion, then at block 303, the purchaser 104 may receive promotional material for posting at various locations online. The purchaser 104 may then post the received promotional material at various locations, such as social networks, websites, emails, and/or other locations.

At block 304, one or more promotion viewers such as promotion viewer 106 clicks on the promotional material posted by the purchaser 104 at block 303. As a result, at block 305, the purchaser may receive a rebate, based on the promotion viewers clicks form block 304 and further based on details of the rebate promotion established by the retailer 103, such as a per-click rebate provided to the purchaser 104 in response to each unique promotion viewer click on promotional material posted by the purchaser 104.

Depending on the promotion parameters of the particular rebate promotion, various interactions between promotion viewers and posted promotional materials may qualify to provide the purchaser with the rebates at block 305. For example, rather than clicking on a link in the promotional material, the promotion viewer may be required to make a purchase of a product, view content such as a video, complete a survey, or the like as indicated in the particular rebate promotion, in order to receive a rebate. In a further embodiment, a rebate may be granted to the purchaser when the promotion viewer chooses to participate in the rebate promotion as well, thereby creating a hierarchical rebate scheme.

FIG. 4 is a flowchart of a process of offering promotions, as used in an embodiment. The process may be performed, for example, by promotion management system 101 of FIG. 1. In various embodiments, additional blocks may be included, some blocks may be removed, and/or blocks may be connected or arranged differently from what is shown.

At block 401, the promotion management system may receive promotion parameters from a retailer for a rebate promotion. The promotion management system may then create and/or store a new rebate promotion. The appropriate promotion parameters may be stored in promotion database 204, for example, through operation of promotion system 202. The promotion parameters may include, for example, a maximum rebate (e.g., a percentage of a product purchase price and/or a maximum dollar amount), a quantity of interactions required to reach the maximum rebate, interactions that qualify for payment of at least a portion of the maximum rebate, information on various formats of promotional materials to provide to purchasers (such as text, images, audio, video, and/or other media), and/or other data that is used by the promotion management system to manage the rebate promotion.

At block 402, the promotion management system may receive an indication of a purchase of a product associated with the rebate promotion created at block 401. The received indication may originate from a purchaser of the product and/or from the retailer selling the product. In various embodiments, the indication may relate to a transaction other than a purchase of a product such as the purchase of a service. In response to receiving this indication, at block 403, the promotion management system may create an account for the purchaser (if an account does not already exist) and associates that account with the purchase or other transaction. In an embodiment, the promotion management system may determine that the purchaser has an existing account and may thus associate the purchase or other transaction with that existing account.

At block 404, the promotion management system may provide promotional material to the purchaser. The promotional material may be provided to the purchaser by being directly sent to the purchaser and/or by being automatically posted to third party locations such as social networking sites either automatically or at the request of the purchaser. The promotional material may be in various formats that are suitable for different delivery channels, such as a first promotional material formatted for delivery via email and a second promotional material formatted for posting on a microblog. In some embodiments, the purchaser is provided an opportunity to include a personal endorsement of the product for inclusion in the promotional material generated by the promotion management system.

The promotion management system may be configured to monitor clicks and/or other appropriate transactions relating to the promotional material. For example, a link in the promotional material may be directed to the promotion management system or associated computing system. Additionally or alternatively, the promotion management system may be configured to monitor activity on the locations to which the promotional material was posted, locations linked by the promotional material and/or other appropriate locations. Through such configuration, the promotion management system may thus be enabled to identify the occurrence of appropriate events that entitle the purchaser to rebates or other rewards.

At block 405, the promotion management system may award a rebate (e.g., a portion of a maximum rebate offered to a particular purchaser) to the purchaser. The type and/or quantity of rebate or award may be determined based on factors such as the promotion parameters received at block 401, the nature of the purchase at block 402, the nature of the purchaser, and/or the nature of the interaction with the promotional material at block 405. Thus, for example, the purchaser may receive a certain rebate each time a promotion viewer clicks on a link in the promotional material (e.g., until a maximum rebate is reached), and may then receive a larger rebate if the promotion viewer makes a purchase based on the promotional material.

FIG. 5 is a flowchart of a process of creating a rebate promotion, as used in an embodiment. The process may be performed, for example, at block 301 of FIG. 3 and/or block 401 of FIG. 4. The process may be performed, for example, by promotion management system 101 of FIG. 1. In various embodiments, additional blocks may be included, some blocks may be removed, and/or blocks may be connected or arranged differently from what is shown.

At block 501, the promotion management system receives a request for a rebate promotion from a retailer. The request may be transmitted, for example, through a network request such as an HTTP request. The request may be initiated directly by the retailer, by an entity associated with the retailer, by an operator of the promotion management server at the direction of a retailer or associated entity, and so on.

At block 502, the promotion management system receives parameters for the promotion to be created. Such promotion parameters may define the terms and/or scope of the promotion. Various examples of promotion parameters are described throughout the specification. The promotion parameters may be received simultaneously with the request for the rebate promotion at block 501 and/or subsequent to the request.

At block 503, the promotion management system receives payment from the retailer. The amount of payment may be determined based on the promotion parameters for the rebate promotion received at block 502. In an embodiment, the amount of the payment received from the retailer servers as a further parameter to the promotion, for example, by limiting the quantity of rebates offered to qualified purchasers. In various embodiments, the payment may be received at different times. For example, payment may be received on a periodic basis, such as a monthly basis. In various embodiments, the payment may be received before and/or after rebates have been given to purchasers. In an embodiment, the retailer is charged at the time a purchaser earns a rebate (for example, at the time a promotion viewer makes clicks on promotional material shared by the purchaser). In an embodiment, the retailer pre-pays for promotions, for example by maintaining a standing account balance with the promotion management system, so no payment need be deducted at the time of creating a particular promotion. In an embodiment, the timing of payment may be made flexible to accommodate the needs of various retailers, allowing the retailer to select from one of various payment options.

At block 504, the promotion management system stores appropriate promotion data based on the promotion parameters received at block 502 and/or payment received at block 503. Additionally, at block 505, the promotion management system may provide code (e.g., installable code) for the retailer's e-commerce system. Such code may enable the retailer to provide appropriate user interfaces to allow purchasers to be notified of and to enroll in rebate promotions offered by the retailer. In an embodiment, various installable plug-ins are provided in order to accommodate a variety of content management or shopping systems. In an embodiment, the code may include client site code, such as JavaScript code, and/or server site code.

The code provided at block 505 may include items specific to the rebate promotion and/or security related items. In an embodiment, the code may include one or more keys such as an API key, a promotion identifier, a retailer identifier, and the like. Other security information may include authentication credentials and/or cryptographic keys such as public and/or private keys. Thus, the information provided may enable the retailer, purchasers, and/or other entities to uniquely identify the retailer and/or promotion being offered.

In an embodiment, certain portions of the code are provided at block 505 and other portions are provided at different times and/or at different locations. For example, in an embodiment, the portions of the code specific to the rebate promotion are provided at block 505 and the nonspecific portions, such as general code to interface with shopping cart or CMS software, are provided at a different time and/or location (for example, the nonspecific portions may be made available via an independent source code repository).

FIG. 6 is a block diagram of an example data structure of promotion data, as used in an embodiment. Such a data structure may be used, for example, at block 504 of FIG. 5. The data structure may be stored, for example, in promotion database 204 of FIG. 2. The data structure may be stored on computer-readable media such as a hard drive, SSD, tape backup, distributed storage, cloud storage, and so on, and may be structured as relational database tables, flat files, C structures, programming language objects, database objects, and the like. In various embodiments, additional elements may be included, some elements may be removed, and/or elements may be arranged differently from what is shown.

Promotion data 601 may contain various data elements relating to rebate promotions. Promotion data 601 may include the same data as promotion parameters received from a retailer (such as those received at block 401 of FIG. 4), any subset of the promotion parameters, data derived from promotion parameters, and/or other data.

Promotion data 601 may include one or more data elements. For example, retailer data 602 may identify the retailer associated with a particular promotion. Product map 603 may include appropriate data to identify products that qualify for particular rebate promotions. Product map 603 may include, in various embodiments and/or situations, a list of products, a list of product categories, identifiers of product attributes, general rules for selecting products, and/or the like. In an embodiment, all products offered by the retailer may be included in a promotion in which case product map 603 may be blank and/or otherwise identify all such products.

Rebate parameters 604 may include information relating to the rebates to be offered with the promotion. Such parameters may be used, for example, to determine the amount of the rebate to be offered. In an embodiment, rebate parameters 604 may include a number of clicks 605 and a maximum rebate 606 which may be a dollar amount and/or percentage. For example, in an embodiment, the number of clicks for a rebate may be set to 10 and the maximum rebate may be set to 20%. In such an embodiment, a purchaser would be able to obtain up to a 20% rebate if 20 clicks are made on the promotional material. If fewer than 20 clicks are made then a smaller rebate may be offered, with the magnitude of the rebate being determined by an appropriate formula or calculation.

In an embodiment, the partial rebate is determined by a linear interpolation based on the number of clicks received. Thus, in the example provided above, a purchaser may receive a 14% rebate if the promotional material is clicked 7 times. In other embodiments, the partial rebate may be determined by nonlinear formulas to encourage different promotion strategies. For example, in one embodiment, a purchaser may receive no rebate for zero to four clicks, a 5% rebate for five to nine clicks, and a 20% rebate for 20 or more clicks. In various embodiments, additional and/or different parameters, different rebate parameters may be used for determining the appropriate rebate. The parameters may include, for example, timing of clicks, types of individuals clicking, activities performed by promotion viewers (such as product purchases) and the like.

Promotion data 601 may further include limitations on the promotion. For example, promotion data 601 may include a maximum total spending amount 607 which may be used to limit the number and/or amount of promotions offered. The maximum total spending 607 may be a total maximum amount of spending, a maximum amount of spending per period such as per month, a maximum number of rebates to offer, a maximum number of rebates to offer per period such as per day, and so on. By comparing the number and/or amount of rebates offered by purchasers with the maximum total spending amount 607, the promotion management system may determine whether or not to offer further rebates to purchasers. For example, the promotion management system may calculate the total amount of rebates offered within a particular promotion and stop offering the rebate promotion if that amount exceeds the maximum total spending amount 607. In the case where some or all purchasers have received partial rebates but are still able to continue earning further rebates for additional clicks, the promotion management system may estimate a likely number of clicks to be obtained by those purchasers in order to calculate the current spending amount.

Promotion data 601 may further include one or more time limits 608. The time limits may be, for example, a time limit on the overall promotion and/or a time limit for a particular purchaser to earn rebates. The latter form of time limits may be useful for example to assist in the calculation of the total spending for a particular promotion. For example, if a time limit of 10 days is set, then a purchaser may receive rebates for up to that 10-day period but may not receive rebates thereafter for the same purchase. During that 10-day period, the promotion management system may assume that the full rebate and/or a partial rebate may be awarded to that purchaser and it may then disable further rebates due to a maximum total spending limit being hit. However, after that 10 day period, the promotion management system may determine that the purchaser has not earned the anticipated full or partial rebate, so it may be able to offer further rebates to purchasers while remaining within the maximum total spending limit. Thus, such time limits may enable the promotion management system to offer a greater number of rebates to purchasers within specified spending limits.

Promotion data 601 may further include data relating to the promotional materials. For example, promotion data 601 may include images, promotional text, videos, audio, hyperlinks to one or more locations, and the like. Such material may be specified by retailers during the process of creating promotion data 601.

FIG. 7 is a flowchart of a process of managing a purchase of an item associated with a promotion, as used in an embodiment. In an embodiment, the process is performed at blocks 302 and 303 of FIG. 3, and/or blocks 402-404 of FIG. 4. In an embodiment, certain blocks of FIG. 7 are performed by retailer 103 and/or purchaser 104 and certain blocks are performed by promotion management system 101. In various embodiments, additional blocks may be included, some blocks may be removed, and/or blocks may be connected or arranged differently from what is shown.

At block 701, the retailer processes the purchase of an item on the retailer's site. Processing the purchase of an item may occur at the time when the purchaser viewed a shopping cart on the retailer's website, provides payment information, receives checkout confirmation, and/or another appropriate time.

At block 702, the retailer gathers purchase information via a script and/or other system operated by the retailer. In an embodiment, the purchase information is gathered by a client side script running on a web browser of the purchaser. The client side script may be included as part of a web page and/or other content sent by the retailer, and it may scrape and/or otherwise analyze the page or other content to determine appropriate information such as items purchased and/or amounts spent. In alternate embodiments, server side code, such as a plug-in, may be operated on the retailer's site or an associated site, to automatically gather the appropriate purchase information. Such plug-ins may be designed for existing content management systems, shopping cart systems, database systems and the like. The appropriate purchase information may then be sent via network and/or other means to the promotion management system.

At block 703, the promotion management system receives information about the purchase. The information may be received in response to a network transaction sent by the retailer and/or purchaser, or the information may be received upon the promotion management system sending an appropriate query to the retailer and/or purchaser, for example, on a periodic basis. The information about the purchase may include information about items purchased and/or amounts spent. The information about the purchase may further include information relating to a particular promotion. Such information may include, for example, a promotion ID, a retailer ID, an API key, security credentials, and the like.

At block 704, the promotion management system determines a rebate promotion for the purchase. The rebate promotion data may be structured, for example, in the form shown in FIG. 6. The determination may be performed, for example, by promotion system 202 of FIG. 2. In an embodiment, the promotion management system may determine that multiple promotions are appropriate for a given purchase, for example, when two items associated with different promotions are purchased. Upon determining the appropriate rebate promotion, the promotion management system determines appropriate parameters associated with the promotion and sends those to the retailer and/or purchaser. Such parameters may include, for example, a rebate percentage and/or dollar amount and/or a number of clicks required to obtain the maximum rebate amount.

At block 705, the retailer and/or purchaser receives and displays the promotion parameter received from the promotion management system. In an embodiment, the promotion parameters are displayed on the retailer's webpage. Additionally or alternatively, the promotion parameters may be sent to the purchaser by email and/or other communication. The purchaser may then be given the option to sign up for the promotion. In an alternate embodiment, the purchaser may be automatically signed up for the promotion without any required interaction by the purchaser.

If the purchaser chooses to participate in the promotion, then at block 706, account information is received for the promotion. The account information may be manually entered by the purchaser and/or automatically drawn from the retailer's systems. The account information may be received by the retailer and then transmitted to the promotion management system, or it may be received directly at the promotion management system, for example, by a website form submission, as shown in block 707.

At block 708, the promotion management system creates an account for the purchaser based on the received account information. If an account already existed for the purchaser, then that account may be used rather than creating a new account. The account is associated with the promotion to enable the purchaser to earn rebates based on that promotion. The promotion management system may then generate appropriate promotional materials such as a promotion link. The promotional material is then sent to the retailer and/or purchaser, for example, it may be displayed on the retailer's website and/or sent to the purchaser by email or other communication.

In an embodiment, the promotion link is a short URL link directed to the promotion management system and/or an associated computer system. The short link may include identifiers, for example in the path and/or query parameters of the URL, that may identify the retailer, rebate promotion, purchaser, and/or other relevant information. In an embodiment, the short link may instead include an identifier that links to a database record or other record stored in the promotion management system, allowing the system to identify the retailer, rebate promotion, purchaser, and/or other relevant information without some or all of that information being directly identified in the short link.

FIG. 8 is a sample user interface enabling a purchaser of a product on a retailer's website to participate in a rebate promotion, as used in an embodiment. User interface 801 may be, for example, a webpage displayed on a web browser operated by the purchaser.

User interface 801 may be, in an embodiment, an order confirmation page. In various embodiments, the webpage may be a different webpage at a different part of the shopping process, such as a checkout page, a shopping cart page, a payment entry page or the like. Link 802 on the user interface enables the purchaser to participate in the rebate promotion by clicking on the link. In various embodiments, rather than a clickable link, other user interface elements may be employed such as a check box, a touchable button, a slideable button, a text entry field, and so on. The user interface may further indicate information relating to the rebate promotion such as text indicating the amount of the rebate.

FIG. 9 is a sample user interface allowing the purchaser to sign up for a rebate promotion, as used in an embodiment. The user interface may include user interface element 901 which may be displayed as a popup window, as an internal frame within a webpage, as a separate webpage or the like. The interface may include an input control configured to receive purchaser information, such as text field 902 that is configured to receive the purchaser's email address. In an embodiment, the email address may be automatically drawn from the retailer's data and/or from another data source so that the email address may be automatically included in text field 902 or otherwise automatically provided to the promotion management system. In an embodiment, the user may be able to change the email address through text field 902 or other interface elements thereby enabling the user to use different email addresses for the rebate promotion and for the retailer sites. In various embodiments, information different from or in addition to the email address may be requested by the promotion management system using interface element 901 or another interface.

User interface element 901 may further include information about the rebate promotion 903. Such information may include the number of clicks and/or other actions that can earn rebates. It may further include the percentage and/or dollar amount of the rebate. It may further include other information about the rebate promotion such as a time limit. Information about the rebate promotion may be displayed directly in user interface element 901 and/or on a separate page such as a terms and conditions page which may be linked within user interface element 901.

In an embodiment, rather than displaying user interface element 901 or other interface to receive purchaser information for a rebate promotion, the retailer and/or promotion management system may simply accept the request to participate in the rebate promotion through an interaction with interface element 802 of FIG. 8. Thus, for example, the retailer may simply store, in a database, an indication that a purchaser has indicated interest in participating in a rebate promotion. The retailer may then inform the promotion management system about the purchaser, and/or the promotion management system may periodically or otherwise query the retailer for purchasers who have indicated interest in participating in the rebate promotion. The promotion management system and/or retailer may then contact the purchaser, for example by email, without the need to display an interface such as user interface element 901. The retailer and/or promotion management system may determine the email address of the purchaser using the retailers existing database records, or from user input provided during the shopping cart checkout process.

FIG. 10 is a sample user interface for sharing promotional materials as used in an embodiment. The interface of FIG. 10 may be displayed, for example, subsequent to the interface shown in FIG. 9. In various embodiments, the interface may be displayed on the retailer's webpage in a popup window, in a separate window, on a separate webpage, and/or in another communication such as an email communication. User interface element 1001 may include information relating to the rebate promotion for which the purchaser has signed up. The example user interface element 1001 includes various buttons 1002 and/or other interface elements that enable the purchaser to share the promotional material at various locations such as a social network, a blog, and/or emails. In an embodiment, when a purchaser clicks or otherwise selects one or more of interface elements 1002, the promotion management system automatically posts the appropriate promotional material to the selected location. In an embodiment, the promotional material is specifically customized based on the location to which it will be posted so that, for example, promotional material posted on a social network may be formatted different from promotional material sent by email. In an embodiment, the promotional material comprises a link that may be provided directly to the purchaser so that it may be posted by the purchaser at the purchaser's discretion. In an embodiment, the link or other promotional material is not directly provided to the purchaser, thus providing a degree of control over the posting of the promotional material. In such an embodiment, the links and/or other promotional material may be automatically embedded within the various options.

In an embodiment, when the purchaser selects one or more of interface elements 1002, the purchaser's browser automatically executes client side code to post the promotional material to the appropriate location. In such a case, neither the promotion management system nor the retailer needs to communicate with external systems in order to post the promotional material.

User interface element 1001 may further include a comment block 1003 so that the purchaser may include a customized comment. In an embodiment, when the purchaser provides a customized comment that comment may be automatically included in the posting of promotional material. In various embodiments, the comments provided in block 1003 may be formatted appropriately for the location to which the promotional material is being posted. The comment block may enable the purchaser to provide customized messages to particular individuals, reviews of the product, personalized recommendations, and so forth. Such comments may thus increase the efficacy of the promotional materials in attracting attention and/or interest by viewers. In various embodiments, purchaser feedback other than or in addition to a comment may be solicited, such as a star rating, a like/dislike indication, a list of tags, and so on.

FIG. 11 is a flowchart of a process of participating in a promotion, as used in an embodiment. The process may be performed, for example, at blocks 707 and 708 of FIG. 7. The process may be performed, for example, by promotion management system 101 of FIG. 1. In various embodiments, additional blocks may be included, some blocks may be removed, and/or blocks may be connected or arranged differently from what is shown.

At block 1101, the promotion management system receives sign-up information for a promotion. The sign-up information may include information such as an email address which may be used to identify the purchaser who is signing up for the promotion. The sign-up information may further include information such as a promotion ID, promotion information, and API key, a retailer ID, other user identifier, identifiers of products purchased, indications of amounts spent, and so on.

At block 1102, the promotion management system determines whether the received email address or other user identifier is associated with an existing account. If so, then at block 1103, the purchase made by the purchaser is associated with that identified account.

If the email address is not associated with an existing account, then at block 1104, a temporary account is created. The temporary account information may be stored, for example, in account database 205 of FIG. 2. The purchase may then be associated with this temporary account. Thus, the temporary account may be used to keep track of clicks by promotion viewers or other transactions that entitle the purchaser to a rebate.

At block 1105, a confirmation request is sent to the email address associated with the temporary account. The confirmation request may provide a link to the purchaser enabling the purchaser to confirm that the email address is active and that the purchaser wishes to participate in the rebate promotion. The purchaser may then access the provided location and provide account confirmation such as a password at block 1106.

Upon receiving the account confirmation at block 1106, the promotion management system may then convert the temporary account to a full account at block 1107. The full account is then associated with the purchase, thus enabling the purchaser to earn rebates through the rebate promotion. In an embodiment, the temporary account is set to expire after a predetermined period, thus ensuring that inactive temporary accounts are not retained indefinitely. The predetermined period may correspond, for example, to a time limit associated with the promotion.

FIG. 12 is a user interface for confirming an account with the promotion management system, as used in an embodiment. The interface may be displayed, for example, at block 1106 of FIG. 11.

The interface may include box 1201 which requests the purchaser to confirm the created rebate promotion account. In order to confirm the account in an embodiment, the purchaser may provide a password in field 1202 or other appropriate information. Such confirmation may ensure that the provided email account is active and that the purchaser indeed wishes to participate in the rebate promotion.

The interface may further indicate a percentage or dollar amount of a rebate already earned prior to the account being confirmed. As explained with regard to FIG. 11, a temporary account may be able to track rebates earned by the purchaser even prior to account confirmation, and those earned rebates are transferred to the full account upon account confirmation. Such a display of the amount of rebate already earned may assist in incentivizing the purchaser to complete the confirmation process using an interface such as that shown in FIG. 12.

In an embodiment, if the purchaser does not confirm the account within a certain period of time, then communications such as email messages are sent to the purchaser to remind the purchaser of the rebate promotion and optionally to inform the purchaser of the amount of the rebate already earned. Such reminder emails may serve to further increase participation among purchasers in the rebate promotion and to avoid earned rebates from being discarded due to lack of account confirmation.

FIG. 13 is a user interface of a rebate promotion management console, as used in an embodiment. The rebate management console may include information about ongoing rebate promotions in which a purchaser is participating. The purchaser may access the rebate management console, for example, by logging into an appropriate website operated by the promotion management system or associated system.

The rebate management console may identify information such as items purchased 1301, store or other entity from which the item was purchased 1302, number of clicks by promotion viewers on promotional material from the purchaser 1303, total number of clicks available 1303, percentage of rebate earned 1304, maximum rebate percentage 1304, dollar amount earned (not shown in this embodiment), maximum rebate dollars (not shown in this embodiment), and/or other such information. The rebate management console may further include options enabling the purchaser to further post promotional materials relating to particular promotions at various locations such as social networks, blogs, email messages and the like. In an embodiment, where the maximum number of clicks has been reached and/or the maximum rebate amount has been earned, the rebate management console may indicate such and/or prevent further posts of the promotional material from being created. In an alternate embodiment, the purchaser may still be able to post the promotional material even though the maximum rebate has been reached with the understanding that clicks by promotion viewers will not earn further rebates.

FIG. 14 is a flowchart of a process of handling clicks on promotional materials as used in an embodiment. The process may be performed, for example, at blocks 304 and 305 of FIG. 3, and blocks 404 and 405 of FIG. 4. The process may be performed, for example, by promotion management system 101 of FIG. 1. In various embodiments, additional blocks may be included, some blocks may be removed, and/or blocks may be connected or arranged differently from what is shown.

At block 1401, the promotion management system receives a click on a link in promotional material. The click may be received, for example, through an HTTP and/or other request directed to the promotion management system and/or an associated computer system. In various embodiments, other activities other than clicks on promotional materials may be monitored such as product purchases, video views, survey completions, and so on.

In an embodiment, the promotion management system may determine information based on the click received at block 1401. Such information may include, for example, the identity of the retailer purchaser and/or rebate promotion associated with the click. In an embodiment, the determination of any one or more of these identities may be made based on information included with the click such as URL query parameters. In an embodiment, the information may be determined based on the URL of the request made by the click. The URL may be associated within the promotion management system with a database record identifying the rebate promotion, the retailer, and/or the purchaser. Based on this information, the promotion management system may credit the appropriate purchaser for the click.

At block 1402, the promotion management system may determine whether or not the click or other transaction is legitimate. Such a determination may be made using various information about the click such as the timing of the click, the address from which the click originated, the relation of the click to other clicks, and so on. The determination may be made using a variety of techniques such as statistical modeling, Bayesian analysis, spam filtering, behavioral analysis, and so on. If the click is not legitimate, then at block 1404, it may be discarded. In an embodiment, the determination of whether or not a click is legitimate may be made at a later time such as on a periodic basis. In such a case, rebates may be retracted as a result of a later determination that a click is not legitimate. In an alternate embodiment, clicks may be held in a pending state until the determination has been made.

At block 1403, the promotion management system determines whether a maximum number of clicks for the promotion has been exceeded. For example, if a rebate promotion specifies that a purchaser may earn rebates for up to 20 clicks, then the promotion management system may determine at block 1403 whether the purchaser associated with a particular click has already been credited for that number of clicks on the promotional material. Additionally or alternatively, the promotion management system may further conduct other tests to determine whether or not the click should result in the purchaser being credited with a rebate. For example, the promotion management system may determine whether a time limit for the promotion has expired. If the conditions are not met, then at block 1404, the click may be discarded.

At block 1405, the promotion management system records the click in the purchaser's account. At block 1406, the appropriate revenue is calculated and added to the purchaser's account. The calculation of the revenue to be added may be based on the appropriate rebate parameters or other promotion data as shown in FIG. 6.

In an embodiment, the amount of revenue added to the purchaser's account is based on the promotion data for the appropriate rebate promotion and, in particular, based on a linear interpolation calculated from the maximum rebate and the number of clicks associated with the promotion. For example, the revenue added to the purchaser's account may be calculated based on the maximum rebate percentage for the promotion divided by the number of clicks and multiplied by the purchase amount.

In various embodiments, depending on the particular rebate promotion, other methods of calculation may be used. For example, a nonlinear rebate scheme such as a quadratic rebate scheme may be used so that earlier clicks earn smaller revenue while later clicks earn greater revenue. Alternately, a scheme such as a logarithmic scheme may be used so that earlier clicks earn more revenue while later clicks earn less revenue. Regardless of the form of calculation, the rebate amount may be calibrated such that the total rebate does not exceed the maximum rebate.

In an embodiment, regardless of whether or not the click is discarded or credited to the purchaser's account, the promotion management system redirects the promotion viewer who initially clicked on the promotional material to a linked page. The linked page may be defined as part of the promotion data and may direct the promotion viewer to the retailer or to another appropriate location. The redirect may be performed using an HTTP redirect message such as a 30×HTTP response. In an alternate embodiment, rather than redirecting the promotion viewer to a linked page, the promotion management system may respond to the promotion viewer by directly sending content associated with the rebate promotion.

At block 1408, the promotion management system optionally monitors activity on the linked page or other content to which the promotion viewer was directed at block 1407. In an embodiment, the activity monitoring is performed using client side and/or server side code included on the retailer's site or other site appropriate for the linked page. Such activity monitoring may provide statistics and/or other information indicative of the effectiveness of the rebate promotion and/or advertising campaigns which may be collected by the promotion management system to be provided to the retailer and/or other appropriate entity immediately and/or at a later time.

Additional Embodiments

Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.

Any process descriptions, elements, or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those skilled in the art.

All of the methods and tasks described herein may be performed and fully automated by a computer system. The computer system may, in some cases, include multiple distinct computers or computing devices (for example, physical servers, workstations, storage arrays, and so forth) that electronically communicate and interoperate over a network to perform the described functions. Each such computing device typically includes a processor (or multiple processors) that executes program instructions or modules stored in a memory or other computer-readable storage medium. Where the system includes multiple computing devices, these devices may, but need not, be co-located. The results of the disclosed methods and tasks may be persistently stored by transforming physical storage devices, such as solid state memory chips and/or magnetic disks, into a different state.

All of the methods and processes described above may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers. The code modules may be stored in any type of computer-readable medium or other computer storage device. Some or all of the methods may alternatively be embodied in specialized computer hardware. The results of the disclosed methods be stored in any type of computer data repository, such as relational databases and flat file systems that use magnetic disk storage and/or solid state RAM.

Many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure. The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention can be practiced in many ways. As is also stated above, the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the invention with which that terminology is associated. 

What is claimed is:
 1. A method of automatically awarding rebates to a purchaser of a product or service, the method comprising: receiving, at a computer system comprising at least one computer processor, from a retailer offering a rebate promotion, a rebate percentage, the computer system being configured to use the rebate percentage in calculating maximum rebate amounts for respective purchases that qualify for the rebate promotion; receiving, at the computer system, an indication that a purchaser has purchased a product that qualifies for the rebate promotion; associating, using the computer system, an account of the purchaser with purchase data relating to the product purchased including an amount paid by the purchaser for the product; providing promotional material associated with the rebate promotion, the promotional material configured for posting on one or more social networking systems; calculating, by the computer system, a rebate per click to credit to the purchaser in response to respective clicks on the promotional material by respective viewers, the calculation being based at least in part on the rebate percentage, the amount paid, and a quantity of clicks required to achieve the maximum rebate amount; receiving, at the computer system, indications that respective viewers have clicked on the promotional material; and crediting the account of the purchaser based on the calculated rebate per click and a quantity of the received indications of clicks from the respective viewers.
 2. The method of claim 1, wherein calculating the rebate per click comprises calculating an interpolation based on the quantity of clicks and the rebate percentage.
 3. The method of claim 1, wherein associating the account of the purchaser with the purchase data comprises creating a temporary account for the purchaser, requesting account confirmation from the purchaser, and converting the temporary account to a full account in response to receiving account confirmation from the purchaser, wherein the temporary account is configured to be credited with rebates prior to receiving the account confirmation from the purchaser.
 4. The method of claim 3, wherein converting the temporary account to the full account comprises transferring, to the full account, rebates credited to the temporary account.
 5. The method of claim 1, further comprising sending, to a web browser of the viewer, an HTTP redirection message directing the web browser to a promotional website location, the promotional website location being determined based at least in part upon input from the retailer.
 6. The method of claim 1, further comprising receiving, from the retailer, a request to create the rebate promotion, the request comprising promotion creation data, the promotion creation data comprising the rebate percentage and the quantity of clicks.
 7. The method of claim 6, further comprising charging the retailer a promotion spending amount, wherein crediting the account of the purchaser is limited based at least in part on the promotion spending amount.
 8. The method of claim 7, wherein the retailer is charged the promotion spending amount at the time the rebate promotion is created.
 9. The method of claim 1, wherein receiving the indications that the respective viewers have clicked on the promotional material comprises receiving one or more HTTP requests directed to a short link, the short link comprising an identifier linking the request to the purchaser and to the rebate promotion.
 10. The method of claim 1, wherein providing the promotional material comprises generating the promotional material and posting the promotional material to the one or more social networking systems upon a request from the purchaser, the promotional material including a short link comprising a unique identifier linked to the rebate promotion and purchaser.
 11. A computer system, comprising: computer storage media storing instructions; one or more processors configured to execute the instructions stored on the computer storage media; a rebate promotion module comprising instructions stored on the computer storage media, the rebate promotion module being configured to store promotion data relating to a rebate promotion; an account module comprising instructions stored on the computer storage media, the account module being configured to maintain an association between an account of a first user and the stored promotion data, the account module further configured to maintain an association between content at a third party location and the account of the first user; and a rebate computation module comprising instructions stored on the computer storage media, the rebate computation module being configured to compute a rebate value to be awarded to the account of the first user, in response to a received indication of an interaction with the content at the third party location, the computation being based at least in part on the promotion data and a cost associated with a financial transaction in which the first user engaged.
 12. The computer system of claim 11, wherein the computer storage media and one or more processors are housed in a plurality of independent computing devices, wherein at least one of the rebate promotion module, the account module, and the rebate computation module is stored on a first independent computing device, and wherein at least one of the rebate promotion module, the account module, and the rebate computation module is stored on a second independent computing device.
 13. The computer system of claim 11, further comprising a user interaction module comprising instructions stored on the computer storage media, the user interaction module configured to receive the indication of the interaction with the content at the third party location, the user interaction module further configured to identify the account of the first user based on the indication of the interaction with the content at the third party location.
 14. The computer system of claim 11, further comprising an activity monitoring module configured to monitor the activity of a second user that caused the interaction with the content at the third party location, wherein the activity monitoring module is configured to monitor the activity of the second user by receiving monitoring data from a client-side script installed on an external network location being accessed by the second user.
 15. The computer system of claim 11, wherein the account module is further configured to create a temporary account for the first user, to request account confirmation by sending a message to the first user, to receive account confirmation from the first user, and to convert the temporary account to a full account in response to receiving the account confirmation from the first user.
 16. The computer system of claim 11, wherein the rebate computation module is configured to compute the rebate value by at least in part determining an interpolated rebate portion based on the cost associated with the financial transaction and a maximum interaction count value associated with the rebate promotion.
 17. A method of offering a rebate to a purchaser, the method being performed using a computer system comprising at least one processor, the method comprising: processing, using a computer system comprising at least one processor, a purchase order received from a purchaser, the purchase order identifying one or more purchased items; determining, using the computer system, that one or more of the purchased items is associated with a rebate promotion; transmitting to the purchaser, using the computer system, a user interface configured to enable the purchaser to participate in the rebate promotion, the user interface including an indication of a value of the rebate promotion based on a cost of the purchased items associated with the rebate promotion, the user interface further identifying one or more conditions to be met in order to obtain the indicated value of the rebate promotion; and receiving an indication from the purchaser to participate in the rebate promotion.
 18. The method of claim 17, wherein determining that the one or more of the purchased items is associated with the rebate promotion comprises executing third-party plugin code within a content management system framework operating on the computer system.
 19. The method of claim 18, wherein transmitting the user interface comprises further executing the third-party plugin code.
 20. The method of claim 18, wherein the third-party plugin code is further configured to communicate with an external computer system to determine parameters associated with the rebate promotion, and wherein the indication of the value of the rebate promotion and the one or more conditions to be met are based at least in part on the parameters associated with the rebate promotion. 